23

» WarCraft 3 / Пожалуйста, помогите с способностью!

Похожие вопросы:

ответ
Nikita_Gamers, ну вот есть неплохая статья xgm.guru/p/wc3/movingsystem
ответ
но если ты не знаешь порядок выполнения и системные функции карты(которые редактор создаёт сам) то забудь про создание мода
Nikita_Gamers, инициализация
создание триггера,регистрация события,добавление действий и условий к триггеру
также лучше вынести все инициализации в другой поток(ибо лимит)
и нужно стартануть этот поток из начального потока
скорее всего ты ничерта не понял поэтому советую xgm.guru/p/wc3/code-flow-and-data-access
и вытащи из пустой мапы j файл чтобы глянуть какие там функции(начальный поток стартует из функции main)
и посмотри какие бж вызываются из main чтобы знать какую функцию редактировать в близард джи
ответ
Просто оставлю это и это здесь
ответ
импортируй этот файл в карту и пропиши ему путь "units\CommandFunc.txt"
Данным способом можно убрать "Патруль" у всех юнитов на карте без исключения

для тех кому интересно, как это сделано
[CmdPatrol]
Art=CommandPatrol
Buttonpos=0,-11
и ссылочка на статью на хайве
ответ
А касательно остальной части, если UnitUserData нигде не используется, создаешь массив юнитов и отрядов. Массив юнитов забиваешь своими капитанами. В UnitUserData капитана пихаешь его порядковый номер в массиве. Создаешь группу юнитов для этого капитана.
  1. Добавление через каст способности.
Я бы делал через 2 разные абилки с одной и той же позицией в интерфейсе. Пока нужный тебе юнит не является частью отряда - у него таргетная абилка при касте которой на капитана он добавляется в группу соответствующего капитана и получает 2ю абилку взамен первой.
Касательно выделения этих пехотинцев - можно намутить что-то с передачей контроля или создать триггер, который будет снимать выделение с юнитов у которых есть 2я абилка. Если ты хочешь чтобы по одиночке можно было выделять пехотинцев - можешь создать переменную для каждого игрока с капитанами, куда будет просто записываться последний выбранный юнит. При снятии выделения - проверять не выбран ли этот же юнит, в случае чего не снимать выделение. Правда не уверен будет ли корректно работать :> В крайнем случае - будет работать в три клика вместо двух. Если я не ошибаюсь.
Касательно поведения этих пехотинцев - что-то реально стоящее сделать сложно. Возможно, но мне не с руки все расписывать :> Простейший вариант - приказывать пехотинцам после добавления в группу следовать за капитаном.
  1. Добавление через атаку капитана
Триггер, проверяющий что капитан получил урон или атакован, как угодно. Далее любым способом проверяешь есть ли в группе этого капитана юниты. Если нет - выбираешь всех пехотинцев N радиусе, добавляешь в отряд, заменяешь абилку/либо просто приказываешь кастануть в капитана первую абилку.

23

» WarCraft 3 / Тип атаки

Похожие вопросы:

ответ
У каждого типа атаки должны быть свои допустимые цели, без пересечений.
ответ
извиняюсь за беспокойство нашел более лучшее решение проблемы
ответ
Если нужны только 2 типа атаки, то, может, подойдут способности сфер, которые включают атаку №2?
Тогда не нужно делать много типов юнитов.
ответ
Не слушай этих плз. В игровых константах поройся
ответ
Если очень сильно надо - гугли Easy damage system для разъяснений, вот тебе сама система.

23

» WarCraft 3 / Событие

Похожие вопросы:

ответ
Параметры стака ядов с одним и тем же баффом, это нужно чтобы складывались замедлени и\или урон от разных юнитов, или бафф тупо обновлялся.
С одним из параметров яды с разными баффами скатаются независимо, каждый вешает свой бафф. (годная основа для замедляющих способностей)
А игра вылетает из за зацикливания, темболее бафф при удалении и появлении наносит 0.00 ед урона, это так для справки.
ответ
MLPbratishka:
Нет, я про магический щит или укрыться щитом например, но все равно спасибо.
Статьи читать ни царское дело? Приказ без указания цели.
ответ
подведя итоги
простого способа нету
надо писать громоздкую систему с таймером и проверками на приказ, время с последней атаки и местоположения(на случай если юнит побежит за целью)
ответ
Mrachny, DesiMorti, нифига не верно
событие юнит умирает
откуда взяться приказу?
или вы думаете что в компе сидят маленькие человечки которые читают ваши мысли и следят чтобы всё работало так как вы того хотите?
должен вас огорчить но их не существует
и приказа не существует(ибо его никто не создал)
DesiMorti, есть куча систем отлова урона
даже есть статья на гуи на эту тему
хоть иногда статьи читайте
а вообще всё делается намного проще
просто помечаем построенный здания (например при постройке даём им дамми спел)
а при смерти юнита проверяем помечен он или нет(например есть ли у него дамми спел)
и если помечен то создаём юнитов
ответ
Используй "запустить", вместо "включить", если тебе не требуется событие.

23

» WarCraft 3 / синтаксис

Похожие вопросы:

ответ
EnergyFrost, написать свой TESH
ответ
ответ
Использовать глобальные переменные с префиксами или называть их с заглавных букв. Только так. Странно, что редактор вообще даёт возможность это скомпилить.
ответ
//! nocjass
ответ
во первых перенеси весь не системный код из j в wct файл
для того чтобы понять что стоит переносить а что нет придётся выучить jass и прочесть кучу статей(минимум 50)
во вторых проверь настройки (включен ли v/cjass)

23

» WarCraft 3 / Как сделать способность?

Похожие вопросы:

ответ
Какой точный вопрос, однако.
Ответ: триггерно, либо в редакторе объектов, если нужно изменить характеристики, не создаваемые/изменяемые триггерно.
Попытаюсь сыграть в экстрасенса, подстрахуюсь логикой:
Если нужно, чтобы изменялась характеристика количественно, т.е, например, увеличивался наносимый урон, то в действии нанесения урона вместо точного значения нужно выставить функию (формулу, зависимость etc.) имеющую аргументом уровень способности.
Если нужно менять характеристику качественно, например, тип наносимого урона, то следует использовать условия, сравнивающие уровень способности с нужным значением и... далее есть несколько вариантов реализации, но наиболее подходящий - просто выполнять все последующие действия триггера внутри оператора, а затем создать несколько раз скопировать его для других условий. Хотя, с точки зрения программирования, это не очень хороший вариант.
ответ
отменять постройку юнита если технология уже ап
либо как сразу говорили через ап здания
где каждому твоему зданию будет соответствовать такое же здание но с дополнительным слотом
с продажей юнита открываешь доту и смотришь как там сделан спелл передать предметы у куры
он сделан как раз через продажу юнита
иначе никак
если не нравится пожалуйся богу об этом
или близардам
пусть выпустят новый патч специально для тебя
ответ
E: Unit starts the effect of an ability.
C: Ability being cast =
A: Set Casting unit Life to (Life of Casting unit + 200).
Вот скрин настройки действия.
ответ
По случайному стечению обстоятельств я делал похожую систему.
Лови мапу.
Когда будешь пробовать:
  • Возьми герою огнестрельное оружие (оно должно быть в 1 слоте инвентаря)
  • Когда у героя огнестрел, он лишается возможности атаковать в ближнем бою. Стрельба осуществляется щелчком левой кнопки мыши (приказ smart) по противнику. Чтобы целиться было легче, включай режим позиционного огня (горячая клавиша А), тогда герой будет стрелять по щелчку не только по противникам, но и в точку.
  • Стрелы/пули летят по прямой и разбиваются о препятствия. Они ранят первого противника на своем пути. Можно настроить АОЕ.
  • Все триггеры, связанные с системкой в директории Missile Sys. Так же нужен Bribe's Unit Indexer. Это один триггер и он лежит рядом.
ответ
Steal nerves:
  1. Выделяешь всех юнитов в определенной области в группу. Так есть определенный радиус действия (круг выбора области заклинанием типа у бурана, огненного столба и др.), в редакторе называется "Область воздействия", вокруг центра каста перебираешь всех юнитов
  2. Создаешь dummi и кастуешь над каждым юнитом в группе способность "гнев деревьев". Или пробуешь полностью триггерно создать эффект обхвата юнитов (эти лозы и корни деревьев), паузишь и периодически таймером наносишь урон до определенного времени (под конец удаляешь эффект, а если кто-то умер, то также удаляешь эффект). Только, когда триггерно делаешь, баффы нацепить не сможешь, придеться также делать. Заморочек со вторым способом больше
Способность пустышку можно создать на основе канала.

23

» WarCraft 3 / текстуры ландшафта

Похожие вопросы:

ответ
Открываешь war3.mpq или war3x.mpq, смотря где этот тайл появился первый раз, и находишь папку TerrainArt.
ответ
Askarto,
Текстуры ландшафта находятся в файлах War3.mpq и War3x.mpq
в папке \TerrainArt\
Пример:
Распаковываешь \TerrainArt\Cityscape\City_GrassTrim.blp
Перерисовываешь как надо, закидываешь в карту по этому же адресу.
Город - Газон будет выглядеть так как нарисуешь :)
ответ
Красным квадратом помечены текстуры склонов, их можно добавить в карту из "ландшафта" "Базовые текстуры склонов".
ответ
Вот статья.

23

» WarCraft 3 / Перемещение области.

Похожие вопросы:

ответ
Хозяин Миров, боже
делаем дами ауру
потом всем у кого есть баф ауры даём бонусы скрытым спелбуком
когда баф исчезает убираем бонусы
ответ
область- x1 x2 y1 y2
Если координата юнита x1<=X=<x2 и y1<=Y<=y2, то юнит в области с этими координатами. Иначе его там нет. Да и в гуи, вроде было, область содержит точку
ответ
Сделал простой пример на jass. Если пехотинец в радиусе 300 от паладина, ему дается способность доспех веры.
jass
globals
    unit Unit1
    unit Unit2
    timer Timer = CreateTimer()
endglobals

function Trig_sample_Conditions takes nothing returns boolean
    return GetFilterUnit() == Unit2 and GetUnitAbilityLevel(GetFilterUnit(), 'AHad') == 0
endfunction

function Trig_sample_Actions2 takes nothing returns nothing
    if not IsUnitInRange(Unit1, Unit2, 300.) then
        call UnitRemoveAbility(Unit2, 'AHad')
        call PauseTimer(GetExpiredTimer())
    endif
endfunction

function Trig_sample_Actions takes nothing returns nothing
    call UnitAddAbility(Unit2, 'AHad')
    call TimerStart(Timer, .1, true, function Trig_sample_Actions2)
endfunction

//===========================================================================
function InitTrig_sample takes nothing returns nothing
    local trigger trig = CreateTrigger(  )
    set Unit1 = CreateUnit(Player(0), 'Hpal', 0., 0., 0.)
    set Unit2 = CreateUnit(Player(0), 'hfoo', 0., 0., 0.)
    
    call TriggerRegisterUnitInRange(trig, Unit1, 300., function Trig_sample_Conditions)
    call TriggerAddAction(trig, function Trig_sample_Actions)
endfunction
ответ
Нейтральное здание - Set Way Gate Destination.

23

» WarCraft 3 / По типу рельефа

Похожие вопросы:

ответ
Ну насчет первых двух вопросов не знаю. Не супер-пупер картодел. Но с последним - скачай вот это: xgm.guru/p/wc3/jassnewgenpack-exp это расширенный редактор, там можно и карту гиганта сделать и текстур добавить больше чем возможно, по моему до 16 штук, да и еще много чего, включая выключение огранки на декор и т.д. Когда запустиш через эту програмку редактор - появиться в верху дополнительные кнопочки. Нажимаеш на Extensions и в менюшке - Edit Tileset. И выбирай до 16 любых текстур... Вплоть до полной замены всех текстур карты. ..

23

» WarCraft 3 / мини карта

Похожие вопросы:

ответ
Melissa, а ты попробуй :)
Melissa, Я нашёл! Хар-ки: скрыть мини карту.
Боже....
Одна голова хорошо а 2-е это Огр маг :)
ответ
неа
ответ
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно
bazeba:
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно
Ой извени, не Модель, а Пиктограмма: герой на минекарте
bazeba:
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно
bazeba:
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно
Ой извени, не Модель, а Пиктограмма: герой на минекарте
Вот я вытащил из доты иконку героев на миникарте
ответ
Все намного проще чем Вы думаете. В меню редактора "Сценарий => Дополнительно" есть такая галочка, называется "Скрытые области частично видимы", убери эту галочку и будет тебе магия)
p.s.: Если сразу не включится функция пересохрани карту и перезапусти варик.
ответ
Берешь и делаешь карту сам, копипастишь из доты и обрезаешь под размер 128 на 128 или 256 на 256 в формате тга, а затем импортируешь в карту по подходящему пути, инфа есть в оглавлении статей.

23

» WarCraft 3 / Скорость атаки

Похожие вопросы:

ответ
(
бд-база данных
баг-когда 1 триггер перемещает предмет а 2 удаляет врезультате эфект от предмета есть а сомого предмета нету
но ты с бд замучаешся если герой атакует ведь это надо отслеживать ловкость и все предметы
цикл это loop если что
ответ
Ладно. Проехали.
Раз даже спецы не знают как это реализовано, то закрою тему.
Имхо в данных картах реализована какая-то jass система, на основе:
"Скорость перезарядки" - 0
А при атаке, jass'ом разрешается атаковать, с интервалом зависящим от ловкости.
Но это только моё мнение.
Если есть наработка. Пишите в личку.
ответ
В Состоянии скорости атаки в +5-100% более всего видна разница по сравнению с исходным интервалом атаки. Между состояниями +300% АС и +400% АС разницу заметить очень трудно.
Короче самыми значимыми будут бонусы, которые ты получаешь пока суммарный бонус АС близок к нулю.
Скорость атаки каждого юнита варьируется от -80% (в 4 раза больший интервал) до +400% (в 4 раза меньший интервал). То есть, если у тебя 0% АС и тебя замедляют на 40% - то на скорости атаки это очень сильно скажется. В то же время если у тебя +350% АС и тебя замедлили на 40%, то эффекта тупо не будет видно.
Но 0% будет едва ли, т.к. каждое очко ловкости даёт 2% скорости атаки.
ответ
LeVeZeN, это делается либо через орб (сфера молний) либо через дамикаст
а вообще это саша из доты а значит тебе прямая дорога в опендоту
ответ
Ох уж эти отловы урона

23

» WarCraft 3 / Аура на увеличение магического урона

Похожие вопросы:

ответ
Аура торнадо.
Аура выносливости с отрицательными значениями и врагами в допустимых целях.
ответ
Аура преданности/Доспехи веры с отрицательным значением. В настройках редактора поставь галку "Разрешить использование отрицательных чисел в РО."
ответ
Насчёт первого: а разве разные баффы не помогают?
ответ
баф у ауры убрать нельзя
ибо именно баф даёт все бонусы ауры
для теста можешь триггерно удалять ауру и баф с юнита
бонус от ауры тут же исчезнет
а если не удалять баф то он повесит пару секунд давая бонус
лучше всего это видно на доспехах веры
так что пиши свою ауру
на основе таймера с периодом в 1 секунду и перебором всех юнитов на расстоянии R от владельца ауры и добавлении им бонусов
а так же удалением бонусов у отошедших юнитов
ответ
Вот аура крита

23

» WarCraft 3 / Библиотеки

Похожие вопросы:

ответ
alexprey:
да эт верно
nvc123, да вджасс. в мапе был один гуи триг, в нем было несколько действий.
короче я jngp переставил и все стало работать корректно... ???
сори за бессмысленную трату вашего времени. как закрыть вопрос?
ответ
Думал использовать чисто для экономии времени. По хорошему конечно надо самому написать системки, да все руки не доходят.
Может тогда подскажите, есть ли готовые более менее пригодные для использования. Сам всегда делал через торнадо, разве это уже не модно?
ответ
где именно там используется эта библиотека?
если чтото утверждаете то прилагайте пруф
в противном случае не пишите вообще
ответ
Нажми, как показано на скриншоте, и там будет "нестандартный код"

23

» WarCraft 3 / Мультиборд

Похожие вопросы:

ответ
Хмм Вроде разобрался скрыть и показать функции почему то багуют всё дело
ОМГ сам затупил под ночь простите... Там есть еще одна похожая функция это свернуть развернуть спутал :) Всё теперь всё работает : D Ура теперь милая мультиборда будет на ресурсах а не громоздкая лидерборда (да еще и без иконок была)
ответ
Такой вопрос уже был
ответ
что значит неправильно?) не совсем ясно где условие выборки игроков
ответ
Хз. Вставил твой скрипт- все работает. Может быть у тебя сбилась переменная bj_lastCreatedMultiboard или она ссылается на другой мультиборд? Или у тебя индексы криво иницализированы (0-11), а GetConvertedPlayerId(p) возвращает 1-12. Или может у тебя событие кривое или оно вообще отсутсвует? Короче скинь целиком скрипт.
ответ
вариант первый
делаем бд с мин/макс атакой всех юнитов
и в мультибоард отображаем данные из бд
второй вариант
через рб достаём данные из памяти
но ты второй вариант скорее всего не осилишь
про то как сделать то что я написал ты можешь прочесть там

23

» WarCraft 3 / Новая раса и новый ИИ.

Похожие вопросы:

ответ
простой способ xgm.guru/p/wc3/87888
ответ
создай вопрос на сайте
ответ
В игровых константах надо добавить героев в список героев. Точно так же делается с ратушами. И мб ещё с чем-то.
ответ
Хмм Вроде разобрался скрыть и показать функции почему то багуют всё дело
ОМГ сам затупил под ночь простите... Там есть еще одна похожая функция это свернуть развернуть спутал :) Всё теперь всё работает : D Ура теперь милая мультиборда будет на ресурсах а не громоздкая лидерборда (да еще и без иконок была)
ответ
Установить интеджер = рандомное число от 1 до N
если 1 = дать боту наг
если 2 = дать боту альянсов
если 3 = дать боту эльфов
и т.д.

23

» WarCraft 3 / Редактировать способность

Похожие вопросы:

ответ
Джин, как тебе уже ответили выше, данная способность не отображается на панели (спасибо близард), как и ряд других (камень жизни, амулет маны и т.д. и т.п.)
Показать ее наличие можно только одним способом - созданием способности-пустышки (для таких целей идеально подойдет лунный чакрум/крит с 0 шансом и 0 увеличением урона).
Оптимальный вариант - способность пустышку добавить в РО твоему юниту, а при инициализации карты тригерно добавить уже нужную (в нашем случае способность проклятия).
ответ
или триггерно, например, так:
SamuraiKing:
или триггерно, например, так:
ой, забыл, добавь ещё 2 функции, как на снимке.
ответ
FAQ, базовые вопросы по WorldEditor
2.20 Как в редакторе объектов ставить отрицательные значения?
Файл=> Параметры=> Общие=> поставить галочку напротив "Разрешить использование в редакторе объектов отрицательных значений".
Выбрать необходимое поле, зажать Shift и нажать Enter (или двойной клик мышкой). Теперь можно вводить отрицательное значение.
На основе этого возможно сделать ауру, отнимающую броню, отрицательную регенерацию здоровья и многое другое=)
ответ
По сути вопроса изменить масштаб прикрепленного спецэффекта/модели, без редактирования ее самой в стороннем редакторе - нельзя.
ответ
Steal nerves:
Понял. Есть много текстов у стандартных баффов, где есть запятые. Короче если изменить стандартное описание, там тоже обрезают. Вот взять бафф с текстом, и на его основе создать новый нестандартный там тоже обрезка будет (хотя текст не редактировал). Придется как-то изворачиваться с текстом

23

» WarCraft 3 / Боты не добывают золото!

Похожие вопросы:

ответ
проблема в том что они создаются триггерно
посмотри содержимое бж функции которая даёт стартовых юнитов
там вроде должно быть решение
ответ
Я сам разобрался с проблемой. Конечно тут две новые появились, но на них забью уже:
  1. ИИ не нравился герой, из-за него вообще никто не нанимался.
  2. ИИ посчитал, что улучшив главное здание, он лишается главного здания, а значит нужно его снова строить. То есть, например, улучшив ратушу до крепости, он считает, что ратуши больше нет и необходимо построить ещё одну. Потом он крепость улучшит до замка, посчитает, что разрушили крепость, улучшит до крепости ратушу№2, снова потеряет ратушу и построит уже третью.
ответ
достаёшь ai скрипты с версий 1.26 и 1.24 и сравниваешь их

23

» WarCraft 3 / Разные версии

Похожие вопросы:

ответ
Выйди из редактора, а потом уже депротекть.
ответ
bladget, скорее всего (если у тебя Vista или W7 стоит), в старой папки остались "файлы совместимости", которые не удаляются просто так. В WoO много всякого мусора было...
ответ
старый запрос
ответ
molot39:
я так и хотел ответь, что надо прописывать у обычных " Имя" ,без всяких там ATT, BTN..., а файлу DIS прописать "DISимя"
Все равно, ты бы мне этим не помог, потому что главные читы заключаются в том, что можно прописывать любой билебердовый кастомный путь, сохраняя иконкам одинаковые названия.)
Я сделал так:
0\Ability
1\Ability
2\Ability
...
ReplaceableTextures\CommandButtonsDisabled\DISAbility
При этом, числом в пути я просто обозначаю способности, хотя туда в принципе можно даже название прописывать, чтоб было понятно, что это за иконка(кстати, переделаю это дело)
ответ
Увы нет, смотреть из за чего ошибка и потом смотреть что в коде могло её вызвать.
Так же нелишним будет собрать статистику а что именно происходило в этот момент и изучать код, кторый работал в этот момент.
Фаталить могут даже дефолтные способности.

23

» WarCraft 3 / Способность снижение урона

Похожие вопросы:

ответ
Хозяин Миров, боже
делаем дами ауру
потом всем у кого есть баф ауры даём бонусы скрытым спелбуком
когда баф исчезает убираем бонусы